﻿#include "lua_obj.h"

int lua_lv_obj_set_pos(lua_State *L)
{
    lv_obj_t *lv_obj = *(lv_obj_t **)lua_touserdata(L, 1);

    lv_coord_t x = luaL_checkinteger(L, 2);
    lv_coord_t y = luaL_checkinteger(L, 3);
    lv_obj_set_pos(lv_obj, x, y);
    return 1;
}

int lua_lv_obj_set_x(lua_State *L)
{
    lv_obj_t *lv_obj = *(lv_obj_t **)lua_touserdata(L, 1);

    lv_coord_t x = luaL_checkinteger(L, 2);
    lv_obj_set_x(lv_obj, x);
    return 1;
}

int lua_lv_obj_set_y(lua_State *L)
{
    lv_obj_t *lv_obj = *(lv_obj_t **)lua_touserdata(L, 1);

    lv_coord_t y = luaL_checkinteger(L, 2);
    lv_obj_set_y(lv_obj, y);
    return 1;
}

int lua_lv_obj_size(lua_State *L)
{
    lv_obj_t *lv_obj = *(lv_obj_t **)lua_touserdata(L, 1);

    lv_coord_t w = luaL_checkinteger(L, 2);
    lv_coord_t h = luaL_checkinteger(L, 3);
    lv_obj_set_size(lv_obj, w, h);
    return 1;
}

int lua_lv_obj_align(lua_State *L)
{
    lv_obj_t *lv_obj = *(lv_obj_t **)lua_touserdata(L, 1);

    lv_align_t align = luaL_checkinteger(L, 2);
    lv_coord_t x_ofs = luaL_checkinteger(L, 3);
    lv_coord_t y_ofs = luaL_checkinteger(L, 4);

    lv_obj_align(lv_obj, align, x_ofs, y_ofs);
    return 1;
}

int lua_lv_obj_center(lua_State *L)
{
    lv_obj_t *lv_obj = *(lv_obj_t **)lua_touserdata(L, 1);

    lv_obj_center(lv_obj);
    return 1;
}

int lua_lv_obj_set_width(lua_State *L)
{
    lv_obj_t *lv_obj = *(lv_obj_t **)lua_touserdata(L, 1);

    lv_coord_t w = luaL_checkinteger(L, 2);
    lv_obj_set_width(lv_obj, w);
    return 1;
}

int lua_lv_obj_set_height(lua_State *L)
{
    lv_obj_t *lv_obj = *(lv_obj_t **)lua_touserdata(L, 1);

    lv_coord_t h = luaL_checkinteger(L, 2);
    lv_obj_set_height(lv_obj, h);
    return 1;
}

int lua_lv_obj_del(lua_State *L)
{
    lv_obj_t *lv_obj = *(lv_obj_t **)lua_touserdata(L, 1);

    lv_obj_del(lv_obj);
    return 1;
}
